/* WP Overrides */
.b_benefits-grid
{
    .card
    {
        border: none;
        box-shadow: none;
        background: none;
    }
}

.b_benefits-grid
{
	width: 100%;
	position: relative;

	.mobile-view
	{
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 60px 20px;
		align-items: center;
		gap: 60px;

		.shared-heading
		{
			position: relative;
			width: 100%;
			font-family: var(--font-headlines);
			font-style: normal;
			font-weight: 400;
			text-align: center;
		}

		.shared-headlines-area
		{
			display: flex;
			flex-direction: column;
			align-items: center;
			position: relative;
			flex: 0 0 auto;
			width: 100%;
		}

		.shared-medical-insurance
		{
			position: relative;
			width: 100%;
			font-style: normal;
		}

		.shared-set-arrow
		{
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 10px;
			overflow: clip;
			background-color: var(--color-neutrals-gray);

			.arrow-8
			{
				height: 100%;
				position: relative;
				flex: 0 0 15px;
				object-fit: contain;
				aspect-ratio: 1 / 2;
				order: 0;
				width: 100%;
			}

			&:hover
			{
				background-color: var(--color-brand-red);
			}

			&:hover
			{
				background-color: var(--color-brand-deep-red);
			}
		}

		.headlines-area
		{
			gap: 30px;
		}

		h2.heading
		{
			height: 23px;
			color: var(--color-neutrals-white);
			font-size: 36px;
			line-height: 40px /* 111% */;
		}

		h3.sub-heading
		{
			height: 76px;
			color: var(--color-neutrals-light-gray);
			font-size: 26px;
			line-height: 30px /* 115% */;
		}

		.cards
		{
			position: relative;
			flex: 0 0 auto;
			width: 100%;
		}

		.cards > .swiper
		{
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 60px;
		}

		.container
		{
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 10px;
			position: relative;
			flex: 0 0 auto;
			width: 100%;
		}

		.card
		{
			display: flex;
			flex-direction: column;
			min-width: 276px;
			max-width: 400px;
			align-items: center;
			gap: 30px;
			position: relative;
			flex: 0 0 auto;
			width: 100%;
		}

		.icon-area
		{
			padding: 0px 40px;
			gap: 10px;
		}

		.icon-box
		{
			display: flex;
			flex-direction: column;
			position: relative;
			justify-content: center;
			align-items: center;
			gap: 10px;
			flex: 0 0 auto;
			width: 100%;
			aspect-ratio: 1 / 1;
		}

		.shape
		{
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			top: 0;
			height: calc(100% - 0px);
			object-fit: contain;
			aspect-ratio: 1 / 1;
		}

		.icon
		{
			width: 124px;
			position: relative;
			flex: 0 0 96px;
			flex-shrink: 0;
			object-fit: contain;
			aspect-ratio: 31 / 24;
		}

		.text-area
		{
			gap: 30px;
		}

		h4.medical-insurance
		{
			min-height: 46px;
			height: 46px;
			color: var(--color-neutrals-white);
			font-family: var(--font-headlines);
			font-size: 26px;
			font-weight: 400;
			line-height: 30px /* 115% */;
			text-align: center;
		}

		.choose-from-a-diverse-set-of-med
		{
			height: 140px;
		}

		div.choose-from-a-diverse-set-of-med > p
		{
			color: var(--color-neutrals-light-gray);
			font-family: var(--font-body-copy);
			font-size: 18px;
			font-weight: 500;
			line-height: 28px /* 156% */;
			letter-spacing: 0.02em;
		}

		.arrows
		{
			display: flex;
			align-items: flex-start;
			gap: 60px;
			position: relative;
			flex: 0 0 auto;
		}

		.arrow
		{
			transform: rotate(180deg);
			height: 50px;
			position: relative;
			flex: 0 0 50px;
			flex-shrink: 0;

			.arrow-8
			{
				flex-shrink: 0;
			}
		}

		.arrow-3
		{
			height: 50px;
			position: relative;
			flex: 0 0 50px;
			flex-shrink: 0;

			.arrow-8
			{
				flex-shrink: 0;
			}
		}
	}

	.desktop-view
	{
		display: none;

		.shared-heading
		{
			position: relative;
			font-family: var(--font-headlines);
			font-style: normal;
			font-weight: 400;
			text-align: center;
		}

		.shared-headlines-area
		{
			display: flex;
			position: relative;
			flex: 0 0 auto;
			width: 100%;
		}

		.shared-medical-insurance
		{
			position: relative;
			width: 100%;
			font-style: normal;
		}

		.shared-set-cta-arrow
		{
			display: flex;
			align-items: center;

			.shape-slice-4-15-15-4
			{
				border-image-source: url("/wp-content/acftb-content/acftb-blocks/Benefits Grid/images/shape-3.svg");
				border-image-slice: 4 15 15 4 fill;
				border-image-width: 4px 15px 15px 4px;
				border-image-repeat: stretch;
				min-width: 19px;
				min-height: 19px;
				position: absolute;
				width: calc(100% - -0.5px);
				height: calc(100% - 0.5px);
				left: 0;
				top: 0.25px;
				order: 0;
			}

			.content-4
			{
				display: flex;
				height: 50px;
				padding: 10px 22px 10px 30px;
				justify-content: center;
				align-items: center;
				gap: 2px;
				position: relative;
				flex: 0 0 auto;
				order: 1;
			}

			span.example-cta-4
			{
				position: relative;
				/* height: 13px; */
				color: var(--color-neutrals-white);
				font-family: var(--font-body-copy);
				font-style: normal;
				font-size: 18px;
				font-weight: 600;
				line-height: 20px /* 111% */;
				order: 0;
			}

			.badge-icon-4
			{
				display: flex;
				flex-direction: column;
				height: 30px;
				justify-content: center;
				align-items: center;
				position: relative;
				flex: 0 0 30px;
				flex-shrink: 0;
				overflow: clip;
				order: 1;
			}

			.icon-arrow-right-4
			{
				width: 10px;
				position: relative;
				flex: 0 0 17px;
				flex-shrink: 0;
				overflow: clip;
				object-fit: contain;
				order: 0;
			}

			&:hover
			{
				filter: drop-shadow(0 4px 0 rgba(129, 129, 129, 1));
			}

			&:hover .shape-slice-4-15-15-4
			{
				border-image-source: url("/wp-content/acftb-content/acftb-blocks/Benefits Grid/images/shape-5.svg");
				top: 0;
			}

			&:hover .example-cta-4
			{
				color: var(--color-neutrals-black);
			}

			&:hover .vector-9-4
			{
				display: none;
			}
		}

		.headlines-area
		{
			flex-direction: column;
			align-items: center;
			gap: 30px;
		}

		h2.heading
		{
			height: 30px;
			color: var(--color-neutrals-white);
			font-size: 48px;
			line-height: 52px /* 108% */;
		}

		h3.sub-heading
		{
			height: 16px;
			color: var(--color-neutrals-light-gray);
			font-size: 26px;
			line-height: 30px /* 115% */;
		}

		.cards-area
		{
			justify-content: center;
			align-items: flex-start;
			gap: 60px;
			flex-wrap: wrap;
			align-content: flex-start;
		}

		.card
		{
			display: flex;
			flex-direction: column;
			min-width: 278px;
			max-width: 278px;
			align-items: center;
			gap: 30px;
			position: relative;
			flex: 1 1 0%;
		}

		.icon-area
		{
			flex-direction: column;
			padding: 0px 36px;
			align-items: center;
			gap: 10px;
		}

		.icon-box
		{
			display: flex;
			flex-direction: column;
			position: relative;
			justify-content: center;
			align-items: center;
			gap: 10px;
			flex: 0 0 auto;
			width: 100%;
			aspect-ratio: 1 / 1;
		}

		.shape
		{
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			top: 0;
			height: calc(100% - 0px);
			object-fit: contain;
			aspect-ratio: 1 / 1;
		}

		.icon
		{
			width: 124px;
			position: relative;
			flex: 0 0 96px;
			flex-shrink: 0;
			object-fit: contain;
			aspect-ratio: 31 / 24;
		}

		.text-area
		{
			flex-direction: column;
			align-items: center;
			gap: 30px;
		}

		h4.medical-insurance
		{
			min-height: 46px;
			height: 46px;
			color: var(--color-neutrals-white);
			font-family: var(--font-headlines);
			font-size: 26px;
			font-weight: 400;
			line-height: 30px /* 115% */;
			text-align: center;
		}

		.choose-from-a-diverse-set-of-med
		{
			/* height: 112px; */
		}

		div.choose-from-a-diverse-set-of-med > p
		{
			color: var(--color-neutrals-light-gray);
			font-family: var(--font-body-copy);
			font-size: 18px;
			font-weight: 500;
			line-height: 28px /* 156% */;
			letter-spacing: 0.02em;
		}

		.cta-arrow
		{
			position: relative;
			flex: 0 0 auto;
		}
	}

	@media (min-width: 1440px)
	{
		.mobile-view { display: none; }
		.desktop-view
		{
			display: flex;
			flex-direction: column;
			padding: 123px 59px;
			align-items: center;
			gap: 60px;
			width: 100%;
		}
	}
}
